#pragma once
#include "../stdafx.h"
#include "../Runtime/basic_type.h"
#include "ast.h"
using namespace XScript::Compile::Ast;
int xscriptcall yyerror(char const *str);
namespace XScript::Compile::Errors
{
	void xscriptcall CastMissMatchError(size_t line, TypeSpecifier type1, TypeSpecifier type2);

	void xscriptcall DeriveTypeCastError(size_t line);

	void xscriptcall NotLeftValueError(size_t line);

	void xscriptcall IdentifierNotFoundError(size_t line, RawString name);

	void xscriptcall ConversionStringError(size_t line);

	void xscriptcall BadCharError(size_t line, RawString bad_char);

	void xscriptcall FunctionMultipleDefineError(size_t line, RawString error_text);

	void xscriptcall MathTypeMissMatchError(size_t line);

	void xscriptcall CompareTypeMissMatchError(size_t line);

	void xscriptcall LogicTypeMissMatchError(size_t line);

	void xscriptcall MinusTypeMissMatchError(size_t line);

	void xscriptcall LogicNotTypeMissMatchError(size_t line);

	void xscriptcall IncDecTypeMissMatchError(size_t line);

}